iT邦幫忙

0

Flutter Apk版號不如預期的問題排解

  • 分享至 

  • xImage
  •  

前情提要

透過指令產生Flutter App的Apk時,發現產生的Apk有點肥(Apk Size約23MB)

flutter build apk

後來改用以下指令產Apk,大小可以縮小很多(Apk Size約9MB),
但又發現新問題,產生的APP版號跟pubspec.yaml設定的竟然不同

flutter build apk --split-per-abi


重現問題

如下圖pubspec.yaml設定的版號為1
https://ithelp.ithome.com.tw/upload/images/20221007/20110063UNziqC3GBX.png

透過工具aapt(Android Asset Packaging Tool)檢查版號

aapt dump badging mypath/myApkName.apk

app-armeabi-v7a-release.apk版號卻是1001
https://ithelp.ithome.com.tw/upload/images/20221007/20110063rKGm96v4ew.png
app-arm64-v8a-release.apk是2001
https://ithelp.ithome.com.tw/upload/images/20221007/20110063P3bM4KPAtc.png
app-x86_64-release.apk是4001
https://ithelp.ithome.com.tw/upload/images/20221007/20110063DruPnc9kBy.png


原因與解法

Google下
發現Flutter Github Issue上有討論#39871#49544
大致上來說這是預設行為,因Google Play 商店不允許同一個應用程式使用多個全都具有相同版本資訊的APK
解法: 改成透過App Bundle部屬APP


但如果想產Apk檔但又怕產的Apk太肥怎麼辦?

參考解答
依需要將build apk指令改為下列三個
※若要上架到Google Play商店要記得3個Apk需設為不同的版號

app-arm64-v8a-release.apk

flutter build apk --target-platform=android-arm64

app-armeabi-v7a-release.apk

flutter build apk --target-platform=android-arm

app-x86_64-release.apk

flutter build apk --target-platform=android-x64

Flutter新手,有誤還請各位前輩不吝指教


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言